home *** CD-ROM | disk | FTP | other *** search
/ Revista do CD-ROM 101 / CD-ROM 101.iso / compl / maya5ple / Install_MayaPLE5_English.exe / Maya / Data1.cab / addRecentProject.mel < prev    next >
Encoding:
Text File  |  2003-07-17  |  2.4 KB  |  83 lines

  1. // Copyright (C) 1997-2002 Alias|Wavefront,
  2. // a division of Silicon Graphics Limited.
  3. //
  4. // The information in this file is provided for the exclusive use of the
  5. // licensees of Alias|Wavefront.  Such users have the right to use, modify,
  6. // and incorporate this code into other products for purposes authorized
  7. // by the Alias|Wavefront license agreement, without fee.
  8. //
  9. // ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  10. // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
  11. // EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  12. // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  13. // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  14. // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  15. // PERFORMANCE OF THIS SOFTWARE.
  16. //
  17. //
  18. //  Alias|Wavefront Script File
  19. //  MODIFY THIS AT YOUR OWN RISK
  20. //
  21. //  Creation Date:  December 10, 1999
  22. //  Author:         DNP
  23. //
  24. //  Description:
  25. //      addRecentProject, used currently used by Project Viewer.
  26. //        adds projects to the recent project list.
  27. //
  28.  
  29.  
  30.  
  31. global proc addRecentProject( string $theProject )
  32. {
  33.     string $RecentProjectsList[];
  34.     int $i;
  35.     int $nNum;
  36.     int $maxNum;
  37.  
  38.     string $project = $theProject;
  39.     // Strip off slash from the end if it's there (and not the only char)
  40.     if ( size( $theProject ) > 1 && 
  41.          (gmatch($theProject, "*/") || gmatch($theProject, "*\\\\")) )
  42.     {
  43.         $project = substitute( "/$", $theProject, "" );
  44.     }
  45.  
  46.     $maxNum = `optionVar -q "RecentProjectsMaxSize"`;
  47.  
  48.     if (!`optionVar -exists "RecentProjectsList"`)
  49.     {
  50.         if ( $maxNum > 0 )
  51.             optionVar -sva "RecentProjectsList" $project;
  52.         return;
  53.     }
  54.  
  55.     // get the list
  56.     $RecentProjectsList = `optionVar -q "RecentProjectsList"`;
  57.     $nNum = size($RecentProjectsList);
  58.  
  59.     // search for name in the list.
  60.     for ($i = 0; $i < $nNum; $i++)
  61.     {
  62.         if ($RecentProjectsList[$i] == $project)
  63.         {
  64.             // move it to the top.
  65.             optionVar -rfa "RecentProjectsList" $i;
  66.             optionVar -sva "RecentProjectsList" $project;
  67.             return;
  68.         }
  69.     }
  70.  
  71.     // not found, append at the end.
  72.     optionVar -sva "RecentProjectsList" $project;
  73.     $nNum = `optionVar -arraySize "RecentProjectsList"`;
  74.     if ( $nNum > $maxNum )  // default maximum size
  75.     {
  76.         for ( $i = 0; $i < $nNum - $maxNum; $i++ )
  77.         {
  78.             // remove the oldest one.
  79.             optionVar -rfa "RecentProjectsList" 0;
  80.         }
  81.     }
  82. }
  83.